Common query-based search systems are generally stateless. In a typical use scenario, a user may use a web search engine by transmitting one or more keywords to the search engine. The search engine may respond with a set of web pages that contain the keywords. The user may review summaries of the web pages only to find out that the search may be too broad and the user may add more keywords, which will produce another set of results. This process may iterate until the user finds some results or until the user gives up.